#include<cstdio>
#include<cstring>
const int maxn=50010;
const int MAX=2100000000;
int a[maxn],w[maxn],s[maxn],l[maxn],r[maxn];
int n,t;
int main()
{
	while(scanf("%d",&n)!=EOF)
	{
		for(int i=1;i<=n;i++)
			scanf("%d",&a[i]);
		a[0]=MAX;a[n+1]=-MAX;
		s[1]=a[1];t=1;w[1]=1;
		for(int i=1;i<=n+1;i++)
		{
			int x=a[i];
			while(t>0&&x<=s[t])
			{
				r[w[t]]=i-1;
				t--;
			}
			t++;
			s[t]=x;w[t]=i;
		}
	//	a[0]=-MAX;a[n+1]=MAX;
		s[1]=a[n];t=1;w[t]=n;
		for(int i=n-1;i>=0;i--)
		{
			int x=a[i];
			while(t>0&&x>=s[t])
			{
				l[w[t]]=i+1;
				t--;
			}
			t++;
			s[t]=x;
			w[t]=i;
		}
		int ans=-1;
		for(int i=1;i<=n;i++)
		{
			int x=r[i],j;
			for(j=x;j>i;j--)
				if(l[j]<=i)break;
			if(j-i>ans)ans=j-i;
			x=l[i];
			for(j=x;j<i;j++)
				if(r[j]>=i)break;
			if(i-j>ans)ans=i-j;
		}
		if(ans==0)ans=-1;
		printf("%d\n",ans);
	}
	return 0;
}
		

